/**
 * 
 */
package com.taobao.api.direct;

import com.taobao.api.TaobaoApiException;
import com.taobao.api.extra.model.CatStatsGetRequest;
import com.taobao.api.extra.model.CatStatsGetResponse;
import com.taobao.api.extra.model.ItemDeleteRequest;
import com.taobao.api.extra.model.ItemDeleteResponse;
import com.taobao.api.extra.model.ItemStatsGetRequest;
import com.taobao.api.extra.model.ItemStatsGetResponse;
import com.taobao.api.extra.model.ItemsDownloadRequest;
import com.taobao.api.extra.model.ItemsDownloadResponse;
import com.taobao.api.extra.model.ShippingAddRequest;
import com.taobao.api.extra.model.ShippingAddResponse;
import com.taobao.api.extra.model.SkusOutGetRequest;
import com.taobao.api.extra.model.SkusOutGetResponse;
import com.taobao.api.extra.model.TradeAddRequest;
import com.taobao.api.extra.model.TradeAddResponse;
import com.taobao.api.extra.model.TradeStatsGetRequest;
import com.taobao.api.extra.model.TradeStatsGetResponse;
import com.taobao.api.model.*;

/**
 * 指定登录昵称接口，仅供内部使用
 * 
 * @version 2008-11-17
 * @author <a href="mailto:zixue@taobao.com">zixue</a>
 * 
 */
public interface TaobaoDirectApi {

	/**
	 * 此接口方法以实现得到后台供卖家发布商品的标准商品类目.apiType=2， 部分服务调用，需要签名校验和用户绑定.
	 * 
	 * @param itemCatsGetRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemCatsResponse itemCatsGet(ItemCatsGetRequest itemCatsGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;

	/**
	 * 此接口方法用以更新一个商品信息. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param itemUpdateRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemUpdateResponse itemUpdate(ItemUpdateRequest itemUpdateRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以添加一个商品信息. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param itemAddRequest
	 * @param sessionId
	 * @return ItemAddResponse iid 商品id ; created 修改时间
	 * @throws TaobaoApiException
	 */
	public ItemAddResponse itemAdd(ItemAddRequest itemAddRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以添加或更新一个商品图片. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param itemImgUploadRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemImgUploadResponse itemImgUpload(ItemImgUploadRequest itemImgUploadRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以添加或更新一个商品属性图片. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param propimgUploadRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public PropimgUploadResponse propImgUpload(PropimgUploadRequest propimgUploadRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以删除一个商品图片. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param itemImgDeleteRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemImgDeleteResponse itemImgDelete(ItemImgDeleteRequest itemImgDeleteRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以删除一个商品图片. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param itemImgDeleteRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public PropImgDeleteResponse propImgDelete(PropImgDeleteRequest propImgDeleteRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法拥有添加一个sku. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param skuAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public SkuAddResponse skuAdd(SkuAddRequest skuAddRequest, String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 交易查询
	 * 
	 * @param tradeStatRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradeStatsGetResponse tradeStatsGet(
			TradeStatsGetRequest tradeStatRequest, String sessionId,
			String sessionNick) throws TaobaoApiException;

	/**
	 * 商品类目查询
	 * 
	 * @param catStatRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public CatStatsGetResponse catStatsGet(CatStatsGetRequest catStatRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;

	/**
	 * 商品查询
	 * 
	 * @param itemStatRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemStatsGetResponse itemStatsGet(
			ItemStatsGetRequest itemStatRequest, String sessionId,
			String sessionNick) throws TaobaoApiException;

	/**
	 * 此接口方法用以查询店铺的公开信息。
	 * 
	 * @param shopGetRequest
	 * @return ShopGetResponse shop店铺对象列表
	 * @throws TaobaoApiException
	 */
	public ShopGetResponse shopGet(ShopGetRequest shopGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口用于修改店铺信息
	 * @param shopUpdateRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ShopUpdateResponse shopUpdate(ShopUpdateRequest shopUpdateRequest,String sessionId,String sessionNick) 
			throws TaobaoApiException;
	
	/**
	 * 	获取剩余的橱窗推荐数量
	 * @param showcaseRemainCountRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ShopShowcaseRemainCountResponse shopShowcaseRemianCount
			(ShopShowcaseRemainCountRequest showcaseRemainCountRequest,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 获取店铺卖家自定义的类目
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public SellerCatsListGetResponse sellerCatsListGet(SellerCatsListGetRequest request,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 添加店铺卖家自定义类目 
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return SellerCatsListAddResponse
	 * @throws TaobaoApiException
	 */
	public SellerCatsListAddResponse sellerCatsListAdd(SellerCatsListAddRequest request,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法以实现得到单个用户资料的公开信息和隐私信息。
	 * 
	 * @param userGetRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public UserGetResponse userGet(UserGetRequest userGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * @param userDetailGetRequest
	 * @param sessionId
	 * @param SessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public UserDetailGetResponse userDetail(UserDetailGetRequest userDetailGetRequest,String sessionId,String SessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以实现查询多个用户的隐私信息
	 * @param usersGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public UsersGetResponse usersGet(UsersGetRequest usersGetRequest,String sessionId,String sessionNick) throws TaobaoApiException;

	/**
	 * 此接口方法用以得到单个商品信息的公开信息和隐私信息。
	 * 
	 * @param itemGetRequest
	 * @return ItemGetResponse 包括Item
	 * @throws TaobaoApiException
	 */
	public ItemGetResponse itemGet(ItemGetRequest itemGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 *  此接口方法用以得到某个用户所有符合输入信息的商品的列表，值包含iid和modified。
	 * 
	 * @param itemsDownloadRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemsDownloadResponse itemsDownload(ItemsDownloadRequest itemsDownloadRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;

	/**
	 * 此接口方法用以得到单条交易信息的公开信息和隐私信息。
	 * 
	 * @param tradeGetRequest
	 * @return TradeGetResponse trade交易信息
	 * @throws TaobaoApiException
	 */
	public TradeGetResponse tradeGet(TradeGetRequest tradeGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	
	/**
	 * 此接口方法用以得到单条交易信息的所有信息
	 * 
	 * @param tradeGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return TradeGetResponse trade交易信息
	 * @throws TaobaoApiException
	 */
	public TradeGetResponse tradeFullInfoGet(TradeGetRequest tradeGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	/**
	 * 此接口方法用以得到用户出售中商品的信息。
	 * 
	 * @param itemsOnSaleGetRequest
	 * @return ItemsGetResponse
	 * @throws TaobaoApiException
	 */
	public ItemsGetResponse itemsOnSaleGet(ItemsOnSaleGetRequest itemsOnSaleGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以得到用户仓库中商品的信息。
	 * 
	 * @param itemsOnSaleGetRequest
	 * @return ItemsGetResponse
	 * @throws TaobaoApiException
	 */
	public ItemsGetResponse itemsInStockGet(ItemsInStockGetRequest itemsInStockGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以搜索当前会话用户做为买家达成的交易记录
	 * 
	 * @param tradesRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradesGetResponse tradesBoughtGet(
			TradesBoughtGetRequest tradesRequest, String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以搜索当前会话用户（做为卖家）已卖出的交易数据.支持分页
	 * 
	 * @param tradesRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradesGetResponse tradesSoldGet(TradesSoldGetRequest tradesRequest, String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以搜索当前会话用户（做为卖家）已卖出的交易数据.支持分页
	 * 
	 * @param tradesRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradesGetResponse tradesSoldIncrementGet(TradesSoldIncrementGetRequest tradesRequest, String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 添加交易备注 apiType=2
	 * @author sulinchong.pt 2009-2-11 下午07:12:36
	 * @param tradeMemoAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException 
	 */
	public TradeMemoAddResponse tradeMemoAdd(TradeMemoAddRequest tradeMemoAddRequest, String sessionId, String sessionNick)
		throws TaobaoApiException;
	
	/**
	 * 删除子图 apiType=2
	 * 
	 * @author liupo
	 * @param productImgDeleteRequest
	 * @return
	 * @throws TaobaoApiException
	 */
	public ProductImgDeleteResponse productImgDelete(
			ProductImgDeleteRequest productImgDeleteRequest,String sessionId ,String sessionNick)
			throws TaobaoApiException;

	/**
	 * 删除属性图 apiType=2
	 * 
	 * @author liupo
	 * @param productPropImgDeleteRequest
	 * @return
	 * @throws TaobaoApiException
	 */
	public ProductPropImgDeleteResponse productPropImgDelete(
			ProductPropImgDeleteRequest productPropImgDeleteRequest,String sessionId,String sessionNick)
			throws TaobaoApiException;

	/**
	 * 新增一个产品（SPU），apiType=2
	 * 
	 * @author liupo
	 * @param productAddRequest
	 * @return
	 * @throws TaobaoApiException
	 */
	public ProductAddResponse productAdd(ProductAddRequest productAddRequest,
			String sessionId,String sessionNick) throws TaobaoApiException;

	/**
	 * 新增一个子图，apiType=2
	 * 
	 * @author liupo
	 * @param productImgUploadRequest
	 * @return
	 * @throws TaobaoApiException
	 */
	public ProductImgUploadResponse productImgUpload(
			ProductImgUploadRequest productImgUploadRequest, String sessionId,String sessionNick)
			throws TaobaoApiException;

	/**
	 * 新增一个属性图，apiType=2
	 * 
	 * @author liupo
	 * @param productPropImgUploadRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public ProductPropImgUploadResponse productPropImgUpload(
			ProductPropImgUploadRequest productPropImgUploadRequest,
			String sessionId,String sessionNick) throws TaobaoApiException;

	/**
	 * 修改一个产品（SPU），apiType=2
	 * 
	 * @author liupo
	 * @param productUpdateRequest
	 * @return
	 * @throws TaobaoApiException
	 */
	public ProductUpdateResponse productUpdate(
			ProductUpdateRequest productUpdateRequest, String sessionId,String sessionNick)
			throws TaobaoApiException;

	
	/**
	 * 此接口方法用于批量查询物流订单（卖家身份）
	 * @param request
	 * @param sessionId
	 * @param SessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ShippingsSendGetResponse shippingsSendGet(ShippingsSendGetRequest request,String sessionId,String SessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用于批量查询物流订单的详细信息（卖家身份）
	 * @param request
	 * @param sessionId
	 * @param SessionNick
	 * @return ShippingsSendGetResponse
	 * @throws TaobaoApiException
	 */
	public ShippingsSendFullInfoGetResponse shippingsSendFullInfoGet(ShippingsSendFullInfoGetRequest shippingsSendFullInfoGetRequest,String sessionId,String SessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用于物流订单发货操作
	 * @param request
	 * @param sessionId
	 * @param SessionNick
	 * @return DeliverySendResponse
	 * @throws TaobaoApiException
	 */
	public DeliverySendResponse deliverySend(DeliverySendRequest request,String sessionId,String SessionNick) throws TaobaoApiException;
	
	
	/**
	 * 查询买家收货地址
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ShippingAddressesGetResponse shippingAddressesGet(ShippingAddressesGetRequest request,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 评价查询  apiType=2
	 * @author liupo
	 * @param tradeRatesGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradeRatesGetResponse tradeRatesGet(
			TradeRatesGetRequest tradeRatesGetRequest, String sessionId,String sessionNick)
			throws TaobaoApiException;
	
	/**
	 * 交易确认收货费用查询
	 * 
	 * @param req
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradeConfirmFeeGetResponse tradeConfirmFeeGet(
			TradeConfirmFeeGetRequest req, String sessionId, String sessionNick)
			throws TaobaoApiException;
	
	/**
	 * 单个评价  apiType=2
	 * @author liupo
	 * @param tradeRateListAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradeRateListAddResponse tradeRateListAdd(
			TradeRateListAddRequest tradeRateListAddRequest, String sessionId,String sessionNick)
			throws TaobaoApiException;
	/**
	 * 批量评价  apiType=2
	 * @author liupo
	 * @param tradeRateAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradeRateAddResponse tradeRateAdd(
			TradeRateAddRequest tradeRateAddRequest, String sessionId,String sessionNick)
			throws TaobaoApiException ;

	/**
	 * 修改交易备注 apiType=2
	 * @author sulinchong.pt 2009-2-11 下午07:12:36
	 * @param tradeMemoUpdateRequest
	 * @return
	 * @throws TaobaoApiException 
	 */
	public TradeMemoUpdateResponse tradeMemoUpdate(TradeMemoUpdateRequest tradeMemoUpdateRequest, String sessionId,String sessionNick)
		throws TaobaoApiException;
	
	public ItemsOutGetResponse itemsOutGet(
			ItemsOutGetRequest itemsOutGetRequest, String sessionId,
			String sessionNick) throws TaobaoApiException ;
	
	public SkusOutGetResponse skusOutGet(SkusOutGetRequest skusOutGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 获取套餐列表 apiType = 2
	 * @param suiteGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public SuitesGetResponse suitesGet(SuiteGetRequest suiteGetRequest, String sessionId, String sessionNick)  throws TaobaoApiException;
	
	/**
	 * @param vasSuitesgGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public VasSuitesgGetResponse vasSuitesGet(VasSuitesgGetRequest vasSuitesgGetRequest,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 本接口用于获取用户已申请的退款列表
	 * @author sulinchong.pt 2009-2-19 上午11:28:00
	 * @param refundsApplyGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException 
	 */
	public RefundsApplyGetResponse refundsApplyGet(RefundsApplyGetRequest refundsApplyGetRequest, String sessionId, String sessionNick) throws TaobaoApiException;
	
	
	/**
	 * 本接口用于获取用户收到的退款列表
	 * @author sulinchong.pt 2009-2-19 上午11:28:16
	 * @param refundsRecieveGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException 
	 */
	public RefundsRecieveGetResponse refundsRecieveGet(RefundsRecieveGetRequest refundsRecieveGetRequest, String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 本接口用于获取单笔退款的详细信息
	 * @author sulinchong.pt 2009-2-19 上午11:28:21
	 * @param refundGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException 
	 */
	public RefundGetResponse refundGet(RefundGetRequest refundGetRequest, String sessionId, String sessionNick)throws TaobaoApiException;
	/**
	 * 本接口用于获取退款留言凭证列表的详细信息
	 * @param refundMessagesGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public RefundMessagesGetResponse refundMessagesGet(RefundMessagesGetRequest refundMessagesGetRequest, String sessionId, String sessionNick)throws TaobaoApiException;
	/**
	 * 本接口用于新增退款留言凭证
	 * @param refundMessageAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public RefundMessageAddResponse refundMessageAdd(RefundMessageAddRequest refundMessageAddRequest,String sessionId, String sessionNick) throws TaobaoApiException;
	/**
	 * 新增商品扩展信息
	 * @author liupo
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemExtraAddResponse  itemExtraAdd(ItemExtraAddRequest request,String sessionId,String sessionNick)throws TaobaoApiException;
	/**
	 * 修改商品扩展信息
	 * @author liupo
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemExtraUpdateResponse  itemExtraUpdate(ItemExtraUpdateRequest request,String sessionId,String sessionNick)throws TaobaoApiException;

	
	/**
	 * 创建一笔交易,目前仅仅MOCK掉了
	 * @author sulinchong.pt 2009-2-19 下午04:42:33
	 * @param tradeAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException 
	 */
	public TradeAddResponse tradeAdd(TradeAddRequest tradeAddRequest, String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 发货，目前仅仅MOCK掉了
	 * @author sulinchong.pt 2009-2-19 下午05:27:05
	 * @param shippingAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException 
	 */
	public ShippingAddResponse shippingAdd(ShippingAddRequest shippingAddRequest, String sessionId, String sessionNick) throws TaobaoApiException;

	
	/**
	 * 查询卖家的邮费模板 
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public PostagesGetResponse postagesGet(PostagesGetRequest request,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 添加邮费模板
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public PostageAddResponse postageAdd(PostageAddRequest request,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 修改邮费模板
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public PostageUpdateResponse postageUpdate(PostageUpdateRequest request,String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 删除邮费模板
	 * @param request
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public PostageDeleteResponse postageDelete(PostageDeleteRequest request,String sessionId,String sessionNick) throws TaobaoApiException;
	/**
	 * 此接口用于商品加入橱窗推荐
	 * 
	 * @param itemUpdateShowcaseRequest
	 * @return ItemUpdateShowcaseResponse
	 * @throws TaobaoApiException
	 */
	public ItemUpdateShowcaseResponse itemUpdateShowcase(
			ItemUpdateShowcaseRequest itemUpdateShowcaseRequest,
			String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口用于取消商品的橱窗推荐
	 * 
	 * @param itemUpdateRevokeShowcaseRequest
	 * @return ItemUpdateRevokeShowcaseResponse
	 * @throws TaobaoApiException
	 */
	public ItemUpdateRevokeShowcaseResponse itemUpdateRevokeShowcase(
			ItemUpdateRevokeShowcaseRequest itemUpdateRevokeShowcaseRequest,
			String sessionId ,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 此接口方法用以一口价商品的上架
	 * 
	 * @param itemUpdateListingRequest
	 * @return ItemUpdateListingResponse
	 * @throws TaobaoApiException
	 */
	public ItemUpdateListingResponse itemUpdateListing(
			ItemUpdateListingRequest itemUpdateListingRequest, String sessionId,String sessionNick)
			throws TaobaoApiException;
	
	/**
	 * 此接口用于商品下架
	 * 
	 * @param itemUpdateDelistingRequest
	 * @return ItemUpdateDelistingResponse
	 * @throws TaobaoApiException
	 */
	public ItemUpdateDelistingResponse itemUpdateDelisting(
			ItemUpdateDelistingRequest itemUpdateDelistingRequest,
			String sessionId,String sessionNick) throws TaobaoApiException;
	
	/**
	 * 更新库存信息
	 * 
	 * @param skuUpdateRequest
	 * @return SkuUpdateResponse
	 * @throws TaobaoApiException
	 */
	public SkuUpdateResponse skuUpdate(SkuUpdateRequest skuUpdateRequest,
			String sessionId,String sessionNick) throws TaobaoApiException ;
	
	public TradeCloseResponse tradeClose(TradeCloseRequest tradeCloseRequest, String sesssionID, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 删除商品
	 * @author liupo
	 * @param itemDeleteRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemDeleteResponse  itemDelete(ItemDeleteRequest itemDeleteRequest, String sessionId,
			String sessionNick) throws TaobaoApiException ;
	
	/**
	 * 卖家授权信息 apiType=2
	 * 
	 * @param req
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public SellerAuthorizeGetResponse sellerAuthorizeGet(SellerAuthorizeGetRequest req, String sessionId, String sessionNick)
			throws TaobaoApiException;
	
	/**
	 * 取到交易的快照信息 apiType=2
	 * 
	 * @param req
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public TradeGetResponse tradeNbssnapGet(TradeGetRequest req, String sessionId, String sessionNick)
		throws TaobaoApiException;
	
	/**
	 * 多图关联商品 apiType=2
	 * @author liupo
	 * @param itemJointPropimgRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemJointPropimgResponse itemJointPropimg(
			ItemJointPropimgRequest itemJointPropimgRequest, String sessionId,String sessionNick)
			throws TaobaoApiException;
	/**
	 * 属性图关联商品 apiType=2
	 * @author liupo
	 * @param itemJointImgRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemJointImgResponse itemJointImg(
			ItemJointImgRequest itemJointImgRequest, String sessionId,
			String sessionNick) throws TaobaoApiException;

	public ItemsGetResponse itemsAllGet(ItemsAllGetRequest itemsAllGetRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;

	public FullitemsGetResponse fullitems(
			FullitemsGetRequest fullitemsGetRequest, String sessionId,
			String sessionNick) throws TaobaoApiException;

	public SellerCatsListUpdateResponse sellerCatsListUpdate(
			SellerCatsListUpdateRequest request, String sessionId,
			String sessionNick) throws TaobaoApiException;

	/**
	 * 获取产品增值服务。
	 */
	public VasProductGetResponse vasProductGet(
			VasProductGetRequest vasProductGetRequest, String sessionId,
			String sessionNick) throws TaobaoApiException;

	/**
	 * B商家保证金查询。
	 */
	public GuarantyFundsGetResponse guarantyFundsGet(
			GuarantyFundsGetRequest request, String sessionId,
			String sessionNick) throws TaobaoApiException;

	/**
	 * 申请子应用。
	 */
	public SubappApplyResponse subappApply(SubappApplyRequest request)
			throws TaobaoApiException;
	
	/**
	 * 此接口方法删除一个商品的视频关联. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param itemVideoDeleteRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return ItemVideoDeleteResponse
	 * @throws TaobaoApiException
	 */
	public ItemVideoDeleteResponse itemVideoDelete(
			ItemVideoDeleteRequest itemVideoDeleteRequest, String sessionId, String sessionNick)
			throws TaobaoApiException;
	
	/**
	 * 此接口方法新增或更新一个商品的视频关联. apiType=2， 部分服务调用，需要签名校验和用户绑定,需要传入sessionid
	 * 
	 * @param ItemVideoUploadRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return ItemVideoUploadResponse
	 * @throws TaobaoApiException
	 */
	public ItemVideoUploadResponse itemVideoUpload(
			ItemVideoUploadRequest itemVideoUploadRequest, String sessionId, String sessionNick)
			throws TaobaoApiException;
	
	/**
	 * taobao.item.tbsupdate TBS专用
	 * 
	 * @param itemUpdateRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 * @author jeck.xie 2009-8-18
	 */
	public ItemUpdateResponse itemTbsUpdate(ItemTbsUpdateRequest itemUpdateRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 根据外部id取商品的sku
	 * @param skusCustomGetRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public SkusCustomGetResponse skusCustomGet(SkusCustomGetRequest skusCustomGetRequest
			, String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 取消橱窗推荐
	 * 此接口方法用以修改商品橱窗推荐状态让商品不被推荐.apiType=2， 部分服务调用，需要签名校验和用户绑定, 需要传入sessionid
	 * 
	 * @param itemRecommendDeleteRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return ItemRecommendDeleteResponse iid 商品id, modified 修改时间
	 * @throws TaobaoApiException
	 */
	public ItemRecommendDeleteResponse itemRecommendDelete(
			ItemRecommendDeleteRequest itemRecommendDeleteRequest,
			String sessionId, String sessionNick) throws TaobaoApiException;
	
	/**
	 * 橱窗推荐
	 * @param itemRecommendAddRequest
	 * @param sessionId
	 * @param sessionNick
	 * @return
	 * @throws TaobaoApiException
	 */
	public ItemRecommendAddResponse itemRecommendAdd(
			ItemRecommendAddRequest itemRecommendAddRequest, String sessionId, String sessionNick)
			throws TaobaoApiException;
	
	/**
	 * 获取交易快照
	 * @param tradeGetRequest
	 * @param sessionId
	 * @return
	 * @throws TaobaoApiException 
	 */
	public TradeGetResponse tradeSnapshotGet(TradeGetRequest tradeGetRequest, String sessionId, String sessionNick) throws TaobaoApiException ;

	public LogisticsOrdersGetResponse logisticsOrdersGet(LogisticsOrdersGetRequest request,
			String sessionId, String sessionNick) throws TaobaoApiException;

	public LogisticsOrdersDetailGetResponse logisticsOrdersDetailGet(
			LogisticsOrdersDetailGetRequest req, String sessionId, String sessionNick)
			throws TaobaoApiException;

	public ItemsGetResponse itemsInventoryGet(ItemsInventoryGetRequest req, String sessionId,
			String sessionNick) throws TaobaoApiException;
}
